/* Módulo de Busca de Profissionais — usa as variáveis e o wrapper do form.css
   (.mvusa-module, .mvusa-widget, .mvusa-header). Aqui só o específico da busca. */

.mvusa-search-body { padding: 24px 28px; }

.mvusa-search-input {
	width: 100%;
	border: 1.5px solid var(--c-border);
	border-radius: var(--radius-sm);
	padding: 14px 16px;
	font-size: 15px;
	font-family: inherit;
	line-height: 1.5;
	color: var(--c-text);
	background: var(--c-white);
	resize: vertical;
	min-height: 96px;
	transition: border-color .2s, box-shadow .2s;
}
.mvusa-search-input:focus {
	outline: none;
	border-color: var(--c-blue);
	box-shadow: 0 0 0 3px rgba(28, 119, 195, .12);
}

.mvusa-search-btn {
	width: 100%;
	margin-top: 12px;
	background: var(--c-blue);
	color: #fff;
	border: 0;
	border-radius: var(--radius-sm);
	padding: 14px 20px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s;
}
.mvusa-search-btn:hover:not(:disabled) { background: var(--c-blue-dark); }
.mvusa-search-btn:disabled { opacity: .6; cursor: default; }

.mvusa-search-error {
	color: var(--c-low);
	font-size: 13px;
	font-weight: 500;
	padding: 10px 14px;
	background: var(--c-low-bg);
	border-radius: 8px;
	border-left: 3px solid var(--c-red);
	margin: 12px 0 0;
}

/* Loading */
.mvusa-search-loading { text-align: center; padding: 28px 16px 8px; }
.mvusa-search-spinner {
	width: 38px; height: 38px; margin: 0 auto 14px;
	border: 3px solid var(--c-border);
	border-top-color: var(--c-blue);
	border-radius: 50%;
	animation: mvusa-search-spin .85s linear infinite;
}
@keyframes mvusa-search-spin { to { transform: rotate(360deg); } }
.mvusa-search-loading-msg { font-size: 14px; color: var(--c-muted); margin: 0; min-height: 22px; }

/* Resultado (HTML vindo da IA) */
.mvusa-search-result { margin-top: 18px; }
.mvusa-search .result-box { font-size: 14.5px; color: var(--c-text); }
.mvusa-search .result-box h1 { font-size: 20px; color: var(--c-navy); margin: 0 0 8px; }
.mvusa-search .result-box h2 { font-size: 16px; color: var(--c-navy); margin: 0 0 16px; font-weight: 600; }
.mvusa-search .result-box h3 {
	font-size: 11px; text-transform: uppercase; letter-spacing: .7px;
	color: var(--c-blue); font-weight: 800; margin: 20px 0 10px;
	padding-bottom: 6px; border-bottom: 1px solid var(--c-border);
}
.mvusa-search .result-box ul { list-style: none; padding: 0; margin: 0; }
.mvusa-search .result-box li {
	border-radius: 10px; margin-bottom: 10px; padding: 14px 16px; position: relative;
	background: var(--c-bg); border: 1px solid var(--c-border);
}
.mvusa-search .result-box strong { display: block; font-size: 15px; margin-bottom: 4px; color: var(--c-navy); }
.mvusa-search .result-box p { margin: 0 0 5px; }
.mvusa-search .result-box a { color: var(--c-blue); font-weight: 600; text-decoration: none; }
.mvusa-search .result-box a:hover { text-decoration: underline; }

/* Planos (mantém os nomes de classe da API, rebrand nas cores da marca) */
.mvusa-search .plan-DIAMOND {
	border-left: 5px solid var(--c-navy);
	background: var(--c-blue-xs);
}
.mvusa-search .plan-DIAMOND .diamond-badge {
	display: inline-block; position: absolute; top: -11px; right: 12px;
	background: var(--c-blue); color: #fff; padding: 3px 10px;
	border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .3px; z-index: 5;
}
.mvusa-search .plan-GOLD   { border-left: 5px solid #D97706; background: #fff8e8; }
.mvusa-search .plan-SILVER { border-left: 5px solid var(--c-muted); background: var(--c-bg); }
.mvusa-search .plan-FREE   { border-left: 5px solid #cfd8e3; background: #fafbfc; }
.mvusa-search .plan-FREE a {
	color: #9aa7b6; pointer-events: none; cursor: default; text-decoration: none; opacity: .7;
}
