/* isaHub Site Checkup - Front CSS */

.isahub-sc-wrapper,
.isahub-sc-wrapper * {
	box-sizing: border-box !important;
}

.isahub-sc-wrapper {
	max-width: 760px !important;
	margin: 0 auto !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif !important;
	color: #1a1a1a !important;
}

/* ---------------------------------------------------------------------
 * Formulario
 * ------------------------------------------------------------------- */

.isahub-sc-label {
	display: block !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	margin: 0 0 8px !important;
	color: #1a1a1a !important;
}

.isahub-sc-form-row {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
}

.isahub-sc-input {
	flex: 1 1 260px !important;
	min-width: 0 !important;
	padding: 13px 16px !important;
	border: 1px solid #d0d0d5 !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	background: #fff !important;
	color: #1a1a1a !important;
}

.isahub-sc-input:focus {
	outline: none !important;
	border-color: #4f46e5 !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15) !important;
}

.isahub-sc-submit {
	flex: 0 0 auto !important;
	padding: 13px 26px !important;
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: filter 0.2s ease !important;
}

.isahub-sc-submit:hover,
.isahub-sc-submit:focus-visible {
	filter: brightness(0.85) !important;
}

.isahub-sc-submit:disabled {
	opacity: 0.6 !important;
	cursor: default !important;
}

.isahub-sc-form-hint {
	margin: 10px 0 0 !important;
	font-size: 13px !important;
	color: #6b6b70 !important;
}

/* ---------------------------------------------------------------------
 * Carregando / erro
 * ------------------------------------------------------------------- */

.isahub-sc-loading {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-top: 20px !important;
	padding: 14px 16px !important;
	background: #f7f7fb !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	color: #4b4b52 !important;
}

/* O atributo HTML "hidden" nativo depende de display:none vindo da
   folha de estilos do proprio navegador — mas como .isahub-sc-loading
   ja forca display:flex com !important (necessario para o layout
   quando visivel), isso teria prioridade sobre o hidden nativo e
   deixaria a caixa sempre visivel. Reforcamos aqui explicitamente. */
.isahub-sc-loading[hidden] {
	display: none !important;
}

.isahub-sc-spinner {
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid #d0d0d5 !important;
	border-top-color: #4f46e5 !important;
	border-radius: 50% !important;
	animation: isahub-sc-spin 0.8s linear infinite !important;
	flex-shrink: 0 !important;
}

@keyframes isahub-sc-spin {
	to {
		transform: rotate(360deg);
	}
}

.isahub-sc-error {
	margin-top: 20px !important;
	padding: 14px 16px !important;
	background: #fdf0f0 !important;
	border-left: 4px solid #d63638 !important;
	border-radius: 0 6px 6px 0 !important;
	color: #7a1f21 !important;
	font-size: 14px !important;
}

/* ---------------------------------------------------------------------
 * Relatorio
 * ------------------------------------------------------------------- */

.isahub-sc-report {
	margin-top: 26px !important;
	border: 1px solid #e5e5ea !important;
	border-radius: 10px !important;
	padding: 26px !important;
	background: #fff !important;
}

.isahub-sc-identity h3 {
	margin: 0 0 4px !important;
	font-size: 20px !important;
	word-break: break-word !important;
}

.isahub-sc-summary-meta {
	margin: 0 0 22px !important;
	font-size: 13px !important;
	color: #6b6b70 !important;
}

/* ---------------------------------------------------------------------
 * Score geral
 * ------------------------------------------------------------------- */

.isahub-sc-score-block {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 30px 20px !important;
	border-radius: 12px !important;
	margin-bottom: 22px !important;
	text-align: center !important;
}

.isahub-sc-score-number {
	font-size: 52px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.isahub-sc-score-number span {
	font-size: 22px !important;
	font-weight: 600 !important;
	opacity: 0.6 !important;
}

.isahub-sc-score-label {
	margin-top: 6px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

.isahub-sc-score--excellent {
	background: #e7f5ea !important;
	color: #1e7b34 !important;
}

.isahub-sc-score--good {
	background: #eef7ec !important;
	color: #3d7a1e !important;
}

.isahub-sc-score--attention {
	background: #fef6e7 !important;
	color: #9a6700 !important;
}

.isahub-sc-score--critical {
	background: #fdecec !important;
	color: #b3261e !important;
}

/* ---------------------------------------------------------------------
 * Notas por categoria (barras)
 * ------------------------------------------------------------------- */

.isahub-sc-category-scores {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin-bottom: 26px !important;
	padding: 18px 20px !important;
	background: #f7f7fb !important;
	border-radius: 10px !important;
}

.isahub-sc-category-score {
	display: grid !important;
	grid-template-columns: 110px 1fr 34px !important;
	align-items: center !important;
	gap: 12px !important;
}

.isahub-sc-category-score-label {
	font-size: 13px !important;
	font-weight: 600 !important;
}

.isahub-sc-category-bar {
	height: 8px !important;
	background: #e5e5ea !important;
	border-radius: 999px !important;
	overflow: hidden !important;
}

.isahub-sc-category-bar-fill {
	height: 100% !important;
	border-radius: 999px !important;
}

.isahub-sc-category-bar-fill.isahub-sc-score--excellent,
.isahub-sc-category-bar-fill.isahub-sc-score--good {
	background: #2f9e44 !important;
}

.isahub-sc-category-bar-fill.isahub-sc-score--attention {
	background: #e8a03c !important;
}

.isahub-sc-category-bar-fill.isahub-sc-score--critical {
	background: #d63638 !important;
}

.isahub-sc-category-score-value {
	font-size: 13px !important;
	font-weight: 600 !important;
	text-align: right !important;
	color: #6b6b70 !important;
}

/* ---------------------------------------------------------------------
 * Resumo executivo
 * ------------------------------------------------------------------- */

.isahub-sc-executive-summary {
	margin-bottom: 26px !important;
	padding-bottom: 22px !important;
	border-bottom: 1px solid #ececf1 !important;
}

.isahub-sc-executive-summary h4 {
	margin: 0 0 8px !important;
	font-size: 15px !important;
}

.isahub-sc-executive-summary > p {
	margin: 0 0 14px !important;
	font-size: 14px !important;
	color: #3c3c42 !important;
}

.isahub-sc-summary-counts {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.isahub-sc-summary-counts li {
	padding: 5px 12px !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

/* ---------------------------------------------------------------------
 * Findings (itens de diagnostico dentro de cada categoria)
 * ------------------------------------------------------------------- */

.isahub-sc-section-score {
	float: right !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #6b6b70 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.isahub-sc-findings {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.isahub-sc-finding {
	padding: 12px 0 !important;
	border-bottom: 1px solid #ececf1 !important;
}

.isahub-sc-finding:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.isahub-sc-finding-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.isahub-sc-finding-label {
	font-size: 14px !important;
	font-weight: 600 !important;
}

.isahub-sc-finding-message {
	margin: 4px 0 0 !important;
	font-size: 13px !important;
	color: #6b6b70 !important;
}

/* Severidades - cor + texto sempre juntos (acessibilidade, secao 23) */
.isahub-sc-sev--critical {
	background: #fdecec !important;
	color: #b3261e !important;
}

.isahub-sc-sev--important {
	background: #fdf1e3 !important;
	color: #9a5300 !important;
}

.isahub-sc-sev--attention {
	background: #fef9e3 !important;
	color: #8a6d00 !important;
}

.isahub-sc-sev--ok {
	background: #e7f5ea !important;
	color: #1e7b34 !important;
}

.isahub-sc-sev--unverified {
	background: #eceef1 !important;
	color: #55575c !important;
}

.isahub-sc-section {
	margin-top: 26px !important;
	padding-top: 22px !important;
	border-top: 1px solid #ececf1 !important;
}

.isahub-sc-section h4 {
	margin: 0 0 12px !important;
	font-size: 15px !important;
}

.isahub-sc-muted {
	font-size: 13px !important;
	color: #6b6b70 !important;
	margin: 8px 0 0 !important;
}

.isahub-sc-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
}

.isahub-sc-item {
	background: #f7f7fb !important;
	border-radius: 8px !important;
	padding: 14px !important;
}

.isahub-sc-item-label {
	display: block !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	color: #6b6b70 !important;
	margin-bottom: 6px !important;
}

.isahub-sc-value {
	font-size: 14px !important;
	font-weight: 600 !important;
}

/* ---------------------------------------------------------------------
 * Tecnologias detectadas (Fase 5)
 * ------------------------------------------------------------------- */

.isahub-sc-tech-grid {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.isahub-sc-tech-item {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 8px 14px !important;
	background: #f7f7fb !important;
	border-radius: 999px !important;
	font-size: 13px !important;
}

.isahub-sc-tech-label {
	color: #6b6b70 !important;
	font-weight: 600 !important;
}

.isahub-sc-tech-value {
	color: #1a1a1a !important;
	font-weight: 600 !important;
}

.isahub-sc-tech-label::after {
	content: ":" !important;
}

/* ---------------------------------------------------------------------
 * Badges genericos (usados pelo bloco de Disponibilidade)
 * ------------------------------------------------------------------- */

.isahub-sc-badge {
	display: inline-block !important;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

.isahub-sc-badge--good {
	background: #e7f5ea !important;
	color: #1e7b34 !important;
}

.isahub-sc-badge--bad {
	background: #fdecec !important;
	color: #b3261e !important;
}

.isahub-sc-badge--neutral {
	background: #eceef1 !important;
	color: #55575c !important;
}

.isahub-sc-disclaimer {
	margin: 24px 0 0 !important;
	padding-top: 18px !important;
	border-top: 1px solid #ececf1 !important;
	font-size: 12px !important;
	color: #8a8a90 !important;
	font-style: italic !important;
}

/* ---------------------------------------------------------------------
 * Recomendacoes (Fase 2)
 * ------------------------------------------------------------------- */

.isahub-sc-recommendation-list {
	list-style: none !important;
	counter-reset: isahub-sc-rec !important;
	margin: 0 !important;
	padding: 0 !important;
}

.isahub-sc-recommendation-list li {
	counter-increment: isahub-sc-rec !important;
	position: relative !important;
	padding: 14px 0 14px 34px !important;
	border-bottom: 1px solid #ececf1 !important;
}

.isahub-sc-recommendation-list li:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.isahub-sc-recommendation-list li::before {
	content: counter(isahub-sc-rec) !important;
	position: absolute !important;
	left: 0 !important;
	top: 14px !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	background: #1a1a1a !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* ---------------------------------------------------------------------
 * CTA comercial (Fase 2)
 * ------------------------------------------------------------------- */

.isahub-sc-cta {
	margin-top: 26px !important;
	padding: 26px !important;
	border-radius: 12px !important;
	background: #f0f0ff !important;
	text-align: center !important;
}

.isahub-sc-cta h4 {
	margin: 0 0 8px !important;
	font-size: 18px !important;
	color: #1a1a1a !important;
}

.isahub-sc-cta p {
	margin: 0 0 18px !important;
	font-size: 14px !important;
	color: #4b4b52 !important;
}

.isahub-sc-cta-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 14px 30px !important;
	background: #25d366 !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	transition: filter 0.2s ease !important;
}

.isahub-sc-cta-button:hover,
.isahub-sc-cta-button:focus-visible {
	filter: brightness(0.92) !important;
	color: #fff !important;
}

.isahub-sc-cta-buttons {
	display: flex !important;
	gap: 12px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}

.isahub-sc-cta--pdf-only {
	text-align: center !important;
}

.isahub-sc-pdf-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 14px 30px !important;
	background: #fff !important;
	color: #1a1a1a !important;
	border: 1px solid #d0d0d5 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}

.isahub-sc-pdf-button:hover,
.isahub-sc-pdf-button:focus-visible {
	background: #f0f0f0 !important;
}

.isahub-sc-pdf-button:disabled {
	opacity: 0.6 !important;
	cursor: default !important;
}

.isahub-sc-pdf-error {
	margin-top: 14px !important;
	padding: 10px 14px !important;
	border-radius: 6px !important;
	background: #fdecec !important;
	color: #b3261e !important;
	font-size: 13px !important;
}

/* ---------------------------------------------------------------------
 * Formulario de lead (Fase 6)
 * ------------------------------------------------------------------- */

.isahub-sc-lead {
	margin-top: 20px !important;
	padding: 22px 26px !important;
	border: 1px solid #e5e5ea !important;
	border-radius: 12px !important;
	background: #fafafa !important;
}

.isahub-sc-lead h4 {
	margin: 0 0 6px !important;
	font-size: 16px !important;
}

.isahub-sc-lead > p {
	margin: 0 0 16px !important;
	font-size: 13px !important;
	color: #6b6b70 !important;
}

.isahub-sc-lead-row {
	display: flex !important;
	gap: 10px !important;
	margin-bottom: 10px !important;
	flex-wrap: wrap !important;
}

.isahub-sc-lead-row .isahub-sc-input {
	flex: 1 1 200px !important;
}

/* Honeypot: precisa ficar fora da tela pra visitantes reais (nao so
   "display:none", que alguns leitores de tela ja ignoram sozinhos, mas
   tambem alguns bots simples sabem pular) — aqui usamos posicionamento
   fora da tela, que mantem o campo "presente" o suficiente pra
   preenchimento automatico de formulario cair nele. */
.isahub-sc-hp-field {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.isahub-sc-lead-consent {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	margin: 6px 0 16px !important;
	font-size: 13px !important;
	color: #4b4b52 !important;
	cursor: pointer !important;
}

.isahub-sc-lead-consent input {
	margin-top: 3px !important;
	flex-shrink: 0 !important;
}

.isahub-sc-lead-submit {
	padding: 12px 24px !important;
	background: #1a1a1a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

.isahub-sc-lead-submit:disabled {
	opacity: 0.6 !important;
	cursor: default !important;
}

.isahub-sc-lead-message {
	margin-top: 14px !important;
	padding: 10px 14px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
}

.isahub-sc-lead-message--ok {
	background: #e7f5ea !important;
	color: #1e7b34 !important;
}

.isahub-sc-lead-message--error {
	background: #fdecec !important;
	color: #b3261e !important;
}

/* ---------------------------------------------------------------------
 * Responsividade
 * ------------------------------------------------------------------- */

@media (max-width: 640px) {
	.isahub-sc-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	.isahub-sc-form-row {
		flex-direction: column !important;
	}

	.isahub-sc-submit {
		width: 100% !important;
	}

	.isahub-sc-category-score {
		grid-template-columns: 90px 1fr 30px !important;
	}

	.isahub-sc-score-number {
		font-size: 42px !important;
	}
}
