/* ===================================================================
   Promotech — pagina de Licitacoes / Setor publico
   Complementa css/style.css. Nao redefine nada do tema.
   =================================================================== */

/* ---------- Hero institucional ----------
   Sobrio de proposito: sem imagem de fundo e sem 100vh. A home usa
   parallax; aqui o publico e comprador publico, entao o peso vem do
   espacamento e da tipografia, nao do efeito. */
.lic-hero {
	position: relative;
	background: linear-gradient(120deg, var(--dark) 0%, #12251C 55%, #132D0F 100%);
	color: #fff;
	padding: clamp(7.5rem, 14vw, 10rem) 0 clamp(3.5rem, 7vw, 5rem);
	overflow: hidden;
}
.lic-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 88% 12%, rgba(139, 195, 74, 0.22), transparent 46%),
		repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 84px);
	pointer-events: none;
}
.lic-hero .container { position: relative; z-index: 1; }
.lic-hero h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); line-height: 1.14; }
.lic-hero .lead { color: #D7DEE9; font-size: 1.12rem; max-width: 620px; }

.lic-hero__fact {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: var(--radius-md);
	padding: 0.95rem 1.1rem;
	height: 100%;
}
.lic-hero__fact strong {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	color: var(--brand-light);
	letter-spacing: -0.01em;
}
.lic-hero__fact span { display: block; color: #AEB9CC; font-size: 0.85rem; line-height: 1.35; margin-top: 0.15rem; }

/* ---------- Faixa de credibilidade ---------- */
.lic-seal {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	background: #fff;
	border: 1px solid rgba(11,18,32,0.08);
	border-radius: var(--radius-md);
	padding: 1.25rem 1.3rem;
	height: 100%;
}
.lic-seal i { color: var(--brand-dark); font-size: 1.45rem; line-height: 1; flex-shrink: 0; margin-top: 0.1rem; }
.lic-seal strong { display: block; font-family: 'Poppins', sans-serif; font-size: 0.98rem; margin-bottom: 0.2rem; }
.lic-seal span { color: var(--muted); font-size: 0.9rem; line-height: 1.45; }

/* ---------- Diagrama de arquitetura integrada ----------
   Grid de tres colunas no desktop e pilha no mobile. Os trilhos que
   ligam as colunas ao nucleo sao decorativos e somem abaixo de lg,
   onde a leitura passa a ser vertical. */
.lic-arch {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
.lic-arch__col-label,
.lic-arch__core-label {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 0.75rem;
}
.lic-node {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	background: #fff;
	border: 1px solid rgba(11,18,32,0.09);
	border-radius: var(--radius-md);
	padding: 0.85rem 1rem;
	margin-bottom: 0.7rem;
}
.lic-node:last-child { margin-bottom: 0; }
.lic-node i { color: var(--brand-dark); font-size: 1.1rem; line-height: 1.4; flex-shrink: 0; }
.lic-node strong { display: block; font-size: 0.93rem; font-weight: 600; }
.lic-node span { display: block; color: var(--muted); font-size: 0.83rem; line-height: 1.4; }

.lic-arch__core {
	position: relative;
	background: linear-gradient(120deg, var(--dark) 0%, #132D0F 100%);
	color: #E7ECF3;
	border-radius: var(--radius-lg);
	padding: 1.6rem 1.5rem;
	box-shadow: var(--shadow-strong);
}
.lic-arch__core .lic-arch__core-label { color: var(--brand-light); }
.lic-arch__core h3 { color: #fff; font-size: 1.15rem; margin-bottom: 0.6rem; }
.lic-arch__core p { color: #C7D0DD; font-size: 0.92rem; margin-bottom: 1rem; }
.lic-arch__core ul { list-style: none; padding: 0; margin: 0; }
.lic-arch__core li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	color: #D7DEE9;
	font-size: 0.9rem;
	padding: 0.28rem 0;
}
.lic-arch__core li i { color: var(--brand-light); flex-shrink: 0; margin-top: 0.15rem; }

.lic-arch__base {
	grid-column: 1 / -1;
	background: var(--surface);
	border: 1px dashed rgba(11,18,32,0.18);
	border-radius: var(--radius-md);
	padding: 0.9rem 1.15rem;
	color: var(--ink);
	font-size: 0.9rem;
	text-align: center;
}
.lic-arch__base strong { font-family: 'Poppins', sans-serif; }

@media (min-width: 992px) {
	.lic-arch {
		grid-template-columns: 1fr 1.15fr 1fr;
		gap: 2.25rem;
		align-items: center;
	}
	.lic-arch__core::before,
	.lic-arch__core::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 2.25rem;
		border-top: 2px dashed rgba(76,140,33,0.45);
	}
	.lic-arch__core::before { right: 100%; }
	.lic-arch__core::after { left: 100%; }
	.lic-arch__base { margin-top: 0.5rem; }
}

/* ---------- Lista de conformidade ---------- */
.lic-check {
	display: flex;
	gap: 0.8rem;
	align-items: flex-start;
	padding: 0.55rem 0;
}
.lic-check i { color: var(--brand); font-size: 1.05rem; flex-shrink: 0; margin-top: 0.15rem; }
.lic-check strong { display: block; font-size: 0.97rem; font-weight: 600; }
.lic-check span { color: var(--muted); font-size: 0.9rem; line-height: 1.5; }
.bg-dark-section .lic-check strong { color: #fff; }
.bg-dark-section .lic-check span { color: #AEB9CC; }
.bg-dark-section .lic-check i { color: var(--brand-light); }

/* ---------- Bloco de diligencia tecnica ---------- */
.lic-note {
	border-left: 4px solid var(--brand);
	background: rgba(76, 140, 33, 0.07);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	padding: 1.1rem 1.3rem;
	color: var(--ink);
	font-size: 0.97rem;
}
.lic-note b { font-family: 'Poppins', sans-serif; font-weight: 700; }
.lic-note p:last-child { margin-bottom: 0; }

/* ---------- Formulario ---------- */
.lic-form-card {
	background: #fff;
	border: 1px solid rgba(11,18,32,0.08);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}
.lic-form-card .form-label { font-size: 0.9rem; font-weight: 600; }
.lic-form-card .form-text { font-size: 0.82rem; }
