:root {
	/* Principais */
	--verde-medio: #319685;
	--verde-claro: #6bc0b2;
	--vermelho: #e84a4e;

	/* Secundárias */
	--cinza-escuro: #1e1e1c;
	--verde-escuro: #084f42;
	--coral: #ee7870;
	--verde-menta: #9ad0be;
	--verde-menta-claro: #deede0;
	--cinza-claro: #ebebeb;
}

body {
	background-color: #f4f6f5;
	font-size: 15px;
}

/* Neutraliza qualquer animação/transição herdada do site */
#conteudo.mosia *,
#conteudo.mosia *::before,
#conteudo.mosia *::after {
	transition: none !important;
	transform: none !important;
	animation: none !important;
}

/* Reaplica apenas o foco dos inputs (sem movimento) */
#conteudo.mosia .form-control:focus {
	border-color: var(--verde-medio) !important;
	box-shadow: 0 0 0 3px rgba(49, 150, 133, 0.15) !important;
	outline: none !important;
	background-color: white !important;
}

#conteudo.mosia {
	padding-top: 1.5rem;
	max-width: 1200px;
	font-size: 15px !important;
}

.alerta {
	font-weight: bolder;
	font-size: larger;
	background-color: #f5f5f5;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	padding: 10px;
}

/* ============================================================
   Estilos com prefixo #conteudo.mosia+ !important para garantir
   prioridade sobre qualquer CSS herdado do site principal
   ============================================================ */

/* Título do card de filtros */
#conteudo.mosia .filtros-titulo {
	margin: 0 0 0 0;
	color: #2d2d2d !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Card container */
#conteudo.mosia .prestador-card {
	background: white !important;
	border-radius: 8px !important;
	padding: 1.75rem 2rem !important;
	margin-bottom: 1.5rem !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07) !important;
	border: 1px solid #e4eae8 !important;
}

/* Texto interno do card */
#conteudo.mosia .prestador-info {
	font-size: 15px !important;
	line-height: 1.8 !important;
}

#conteudo.mosia .prestador-info b {
	color: var(--verde-medio) !important;
	font-weight: 600 !important;
}

/* Título do prestador no card */
#conteudo.mosia .prestador-card-titulo {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #2d2d2d !important;
	margin: 0 0 0.2rem 0 !important;
}

#conteudo.mosia .prestador-subtitulo {
	font-size: 13px !important;
	color: #888 !important;
	display: block !important;
	margin-bottom: 0.25rem !important;
}

/* Separador */
#conteudo.mosia .divider {
	height: 1px !important;
	background-color: var(--cinza-claro) !important;
	margin: 1.25rem 0 !important;
	border: none !important;
}

/* Alertas */
#conteudo.mosia .alert-warning {
	border-radius: 8px !important;
	border-left: 4px solid var(--coral) !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Formulário — labels */
#conteudo.mosia .form-group {
	margin-bottom: 1.5rem !important;
}

#conteudo.mosia .form-group label {
	color: #444 !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	margin-bottom: 0.4rem !important;
	display: block !important;
}

#conteudo.mosia .form-group label i {
	color: var(--verde-medio) !important;
	margin-right: 0.5rem !important;
}

/* Formulário — inputs e selects */
#conteudo.mosia .form-control {
	border: 1px solid #d4dedd !important;
	border-radius: 6px !important;
	padding: 0.6rem 0.85rem !important;
	background-color: #fafafa !important;
	font-size: 15px !important;
	height: auto !important;
}

/* Checkbox urgência */
#conteudo.mosia .urgencia-check {
	padding: 0.5rem 0 !important;
}

#conteudo.mosia .check-label {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #444 !important;
	cursor: pointer !important;
}

#conteudo.mosia .check-label input[type="checkbox"] {
	width: 16px !important;
	height: 16px !important;
	accent-color: var(--verde-medio) !important;
	cursor: pointer !important;
}

/* Botões */
#conteudo.mosia .btn-success {
	background-color: var(--verde-medio) !important;
	border: none !important;
	padding: 0.65rem 2rem !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	margin: 0.3rem !important;
	color: #fff !important;
}

#conteudo.mosia .btn-success:hover {
	background-color: var(--verde-escuro) !important;
}

#conteudo.mosia .btn-default {
	background: white !important;
	border: 1px solid var(--verde-medio) !important;
	color: var(--verde-medio) !important;
	padding: 0.65rem 2rem !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	margin: 0.3rem !important;
}

#conteudo.mosia .btn-default:hover {
	background: var(--verde-menta-claro) !important;
}

/* Caixa de informações dos planos */
#conteudo.mosia .info-box {
	background-color: #f0f7f5 !important;
	border-left: 3px solid var(--verde-medio) !important;
	border-radius: 6px !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 1.5rem !important;
	font-size: 15px !important;
}

#conteudo.mosia .info-box h4 {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--verde-escuro) !important;
	margin-top: 0 !important;
	margin-bottom: 0.75rem !important;
}

#conteudo.mosia .info-box p {
	margin-bottom: 0.5rem !important;
}

/* Paginação */
#conteudo.mosia .paginacao-wrap {
	margin: 1.5rem 0 0.5rem !important;
	text-align: center !important;
}

#conteudo.mosia .paginacao-wrap .pagination {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	margin: 0 0 0.5rem 0 !important;
}

#conteudo.mosia .paginacao-wrap .pagination > li > a,
#conteudo.mosia .paginacao-wrap .pagination > li > span {
	color: var(--verde-medio) !important;
	font-size: 15px !important;
}

#conteudo.mosia .paginacao-wrap .pagination > li.active > a,
#conteudo.mosia .paginacao-wrap .pagination > li.active > span,
#conteudo.mosia .paginacao-wrap .pagination > li.active > a:hover,
#conteudo.mosia .paginacao-wrap .pagination > li.active > span:hover {
	background-color: var(--verde-medio) !important;
	border-color: var(--verde-medio) !important;
	color: white !important;
}

#conteudo.mosia .paginacao-wrap .pagination > li > a:hover,
#conteudo.mosia .paginacao-wrap .pagination > li > a:focus {
	background-color: var(--verde-menta-claro) !important;
	border-color: #d4dedd !important;
	color: var(--verde-escuro) !important;
}

#conteudo.mosia .paginacao-info {
	font-size: 14px !important;
	color: #888 !important;
	margin: 0.25rem 0 0 !important;
}

/* Responsividade para Mobile */
@media (max-width: 768px) {
	#conteudo.mosia {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	/* Garante que a coluna interna não anule o padding do container */
	#conteudo.mosia .col-md-10 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Anula a margem negativa do .row do Bootstrap (-15px), que "vazava"
	   3px para fora do padding de 12px do container e cortava as bordas
	   laterais dos cards */
	#conteudo.mosia > .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#conteudo.mosia .prestador-card {
		padding: 1.1rem 1rem !important;
		margin-bottom: 1rem !important;
	}

	#conteudo.mosia .filtros-titulo {
		font-size: 15px !important;
	}

	#conteudo.mosia .btn-success,
	#conteudo.mosia .btn-default {
		width: 100% !important;
		margin: 0.4rem 0 !important;
	}

	#conteudo.mosia .form-group {
		margin-bottom: 1rem !important;
	}

	#conteudo.mosia .prestador-card-titulo {
		font-size: 16px !important;
	}
}
