/**
 * Estilos de la parte pública.
 * Inspection Certificate Verifier — by elsasto.com
 */

/* Ocultar el título de la página que pinta el tema (selectores comunes) */
body.icv-hide-page-title .entry-title,
body.icv-hide-page-title .wp-block-post-title,
body.icv-hide-page-title .page-title,
body.icv-hide-page-title .page-header .entry-title,
body.icv-hide-page-title header.entry-header > .entry-title,
body.icv-hide-page-title .elementor-page-title,
body.icv-hide-page-title .elementor-widget-theme-page-title {
	display: none !important;
}

.icv-public-card {
	--icv-bg: #f7f7f8;
	--icv-surface: #ffffff;
	--icv-border: #e2e2e6;
	--icv-text: #1a1a2e;
	--icv-muted: #8a8a9a;
	--icv-accent: #5c9e35;
	--icv-accent-hover: #4d8a2c;
	--icv-success: #3d8b6e;
	--icv-danger: #b85c5c;
	--icv-success-rgb: 61, 139, 110;
	--icv-danger-rgb: 184, 92, 92;
	--icv-radius: 12px;
	--icv-radius-sm: 8px;

	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--icv-text);
	box-sizing: border-box;

	width: 100%;
	max-width: 520px;
	margin: 32px auto;
	background: var(--icv-surface);
	border: 1px solid var(--icv-border);
	border-radius: var(--icv-radius);
	padding: 36px 32px;
}

.icv-public-card *,
.icv-public-card *::before,
.icv-public-card *::after {
	box-sizing: border-box;
}

/* Logo */
.icv-public-logo {
	display: flex;
	justify-content: center;
	margin-bottom: 22px;
}

.icv-public-logo .icv-logo {
	max-width: 180px;
	max-height: 90px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.icv-public-title {
	margin: 0 0 24px;
	font-size: 20px;
	font-weight: 600;
	color: var(--icv-text);
	text-align: center;
	letter-spacing: -0.01em;
}

/* Formulario — input arriba, botón abajo a ancho completo */
.icv-public-form {
	margin: 0;
}

.icv-public-field {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.icv-public-input {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--icv-border);
	border-radius: var(--icv-radius);
	background: var(--icv-surface);
	color: var(--icv-text);
	font-size: 15px;
	box-shadow: none;
	transition: border-color 0.15s ease;
}

.icv-public-input::placeholder {
	color: var(--icv-muted);
}

.icv-public-input:focus {
	outline: 2px solid var(--icv-accent);
	outline-offset: 1px;
	border-color: var(--icv-accent);
}

/* Botón */
.icv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--icv-accent);
	color: #ffffff;
	border: none;
	border-radius: var(--icv-radius);
	padding: 12px 24px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background-color 0.15s ease;
	box-shadow: none;
}

.icv-btn:hover,
.icv-btn:focus {
	background: var(--icv-accent-hover);
}

.icv-public-btn {
	width: 100%;
	padding: 14px 24px;
}

/* Crédito discreto */
.icv-credit {
	margin: 14px 0 0;
	font-size: 12px;
	color: var(--icv-muted);
	text-align: center;
}

/* Resultados */
.icv-results {
	margin-top: 24px;
}

.icv-results-title {
	font-size: 12px;
	font-weight: 600;
	color: var(--icv-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 14px;
}

.icv-result-card {
	border: 1px solid var(--icv-border);
	border-radius: var(--icv-radius-sm);
	margin-bottom: 12px;
	background: var(--icv-surface);
	overflow: hidden;
}

/* Cabecera con banda sutil y punto de estado */
.icv-result-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 18px;
	background: var(--icv-bg);
	border-bottom: 1px solid var(--icv-border);
}

.icv-result-code {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.01em;
	color: var(--icv-text);
	word-break: break-all;
}

.icv-result-code::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--icv-muted);
}

.icv-result-card--valid .icv-result-code::before {
	background: var(--icv-success);
}

.icv-result-card--expired .icv-result-code::before {
	background: var(--icv-danger);
}

.icv-result-body {
	margin: 0;
	padding: 4px 18px 10px;
}

.icv-result-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--icv-border);
}

.icv-result-row:last-child {
	border-bottom: none;
}

.icv-result-row dt {
	color: var(--icv-muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0;
	flex: 0 0 auto;
}

.icv-result-row dd {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--icv-text);
	text-align: right;
}

/* Badges — chip discreto, no píldora */
.icv-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.5;
	white-space: nowrap;
}

.icv-badge-valid {
	background: rgba(var(--icv-success-rgb), 0.12);
	color: var(--icv-success);
}

.icv-badge-expired {
	background: rgba(var(--icv-danger-rgb), 0.12);
	color: var(--icv-danger);
}

/* Mensajes */
.icv-message {
	border: 1px solid var(--icv-border);
	border-radius: var(--icv-radius-sm);
	padding: 14px 16px;
	font-size: 14px;
	text-align: center;
}

.icv-message-info {
	color: var(--icv-muted);
	background: var(--icv-bg);
}

.icv-message-error {
	color: var(--icv-danger);
	background: rgba(var(--icv-danger-rgb), 0.08);
	border-color: rgba(var(--icv-danger-rgb), 0.25);
}
